package com.breeze.blockchain.mybatis.entity;

import com.breeze.components.mybatis.base.BaseEntity;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 权限 实体类。
 *
 * @author breeze
 * @since 2024-05-11 23:21:51
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(title = "权限")
@Table("sys_permission")
public class PermissionDo extends BaseEntity implements Serializable {

  @Serial private static final long serialVersionUID = 1L;

  /** 权限名称 */
  @Schema(title = "权限名称")
  private String name;

  /** 访问路径 */
  @Schema(title = "访问路径")
  private String key;

  /** 是否禁用: 0:启用 1:禁用 */
  @Schema(title = "是否禁用: 0:启用 1:禁用")
  private Integer disabled;

  /** icon */
  @Schema(title = "icon")
  private String icon;

  /** 10-菜单; 20-目录; 30-按钮 */
  @Schema(title = "10-菜单; 20-目录; 30-按钮")
  private Integer resourceType;

  /** 父id */
  @Schema(title = "父id")
  private Long parentId;

  /** 组件路径 */
  @Schema(title = "组件路径")
  private String componentPath;

  /** 排序 */
  @Schema(title = "排序")
  private Integer sort;

  /** 备注 */
  @Schema(title = "备注")
  private String remark;
}
